/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ro.sergiu.widecomponents.table.beanmodel;

import java.lang.reflect.Field;

/**
 *
 * @author Toporjinschi
 */
public abstract class BeanTableAdapter {

    private final Class<?> cls;

    public BeanTableAdapter(Class<?> cls) {
        this.cls = cls;
    }

    protected Class<?> getBeanClass() {
        return this.cls;
    }

    public abstract String getColumnTitle(Field field);

    public abstract Class<?> getColumnType(Field field);

    public abstract int getWidth(Field field);

    public abstract boolean isColumnEditable(Field field);

    public abstract boolean isValidField(Field field);

}
